package com.cskaoyan.utils;

import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.*;

/**
 * @program: project2_market
 * @time: 2021/10/21
 * @author: yangshuai
 **/

/**
 * 获取一天的开始时间和结束时间
 */
public class StartAndEndTimeUtils {

    Date date;  //  查询时间
    String temp;    // 转换格式临时使用
    Date startTime; // 一天的开始
    Date endTime;   // 一天的结束

    /**
     *  取出年月日
     * @param time
     * @return
     */
    public Date starTime(Date time) {

        date = time;
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        ParsePosition pos = new ParsePosition(0);
        temp = simpleDateFormat.format(date);
        startTime = simpleDateFormat.parse(temp, pos);

        return startTime;
    }

    /**
     * 取出年月日,并获取一天的开始和结束时间
     * @param time
     * @return
     */
    public List<Date> startAndEndTime(Date time) {

        date = time;
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        ParsePosition pos = new ParsePosition(0);
        temp = simpleDateFormat.format(date);
        startTime = simpleDateFormat.parse(temp, pos);

        // 将日期往后推一天
        Calendar calendar = new GregorianCalendar();
        Date date = new Date();
        calendar.setTime(startTime);
        calendar.add(calendar.DATE,1);  //把日期往后增加一天.整数往后推,负数往前移动
        endTime = calendar.getTime();   //这个时间就是日期往后推一天的结果

        List<Date> dateList = new ArrayList<>();
        dateList.add(0,startTime);
        dateList.add(1,endTime);

        return dateList;

    }

    /**
     * 获取一天的开始和结束时间
     * @param startTime
     * @return
     */
    public List<Date> getTwoDates(Date startTime) {
        // 将日期往后推一天
        Calendar calendar = new GregorianCalendar();
        Date date = new Date();
        calendar.setTime(startTime);
        calendar.add(calendar.DATE,1);  //把日期往后增加一天.整数往后推,负数往前移动
        endTime = calendar.getTime();   //这个时间就是日期往后推一天的结果

        List<Date> dateList = new ArrayList<>();
        dateList.add(0,startTime);
        dateList.add(1,endTime);

        return dateList;
    }
}
